package com.cdp.system.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 用于水泥模糊查询的 DTO
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CementDTO {

    /**
     * 水泥型号 (模糊查询，多个型号)
     */
    private List<String> model;

    /**
     * CaO含量范围 (最小值和最大值)
     */
    private List<BigDecimal> caoContent;

    /**
     * SiO2含量范围 (最小值和最大值)
     */
    private List<BigDecimal> sio2Content;

    /**
     * Al2O3含量范围 (最小值和最大值)
     */
    private List<BigDecimal> al2o3Content;

    /**
     * 地区名称 (模糊查询，多个地区)
     */
    private List<Integer> regionName;

    /**
     * 细度范围 (最小值和最大值)
     */
    private List<BigDecimal> fineness;

    /**
     * 标准稠度范围 (最小值和最大值)
     */
    private List<BigDecimal> standardConsistency;

    /**
     * 初凝时间范围 (最小值和最大值，单位：分钟)
     */
    private List<BigDecimal> initialSettingTime;

    /**
     * 终凝时间范围 (最小值和最大值，单位：分钟)
     */
    private List<BigDecimal> finalSettingTime;

    /**
     * 3天抗折强度范围 (最小值和最大值，单位：MPa)
     */
    private List<BigDecimal> bendingStrength3d;

    /**
     * 3天抗压强度范围 (最小值和最大值，单位：MPa)
     */
    private List<BigDecimal> compressiveStrength3d;

    /**
     * 28天抗折强度范围 (最小值和最大值，单位：MPa)
     */
    private List<BigDecimal> bendingStrength28d;

    /**
     * 28天抗压强度范围 (最小值和最大值，单位：MPa)
     */
    private List<BigDecimal> compressiveStrength28d;

    /**
     * 安定性 (模糊查询)
     */
    private List<String> stability;

    /**
     * 胶砂流动度范围 (最小值和最大值，单位：mm)
     */
    private List<BigDecimal> mortarFlow;
}
